/**
 * Created with IntelliJ IDEA.
 * Description:类和对象
 * User: liangyuanzhang
 * Date: 2024-12-05
 * Time: 9:48
 */


//定义了一个洗衣机类
class WashMachine {

    //字段、属性、（成员变量）
    public String brand; // 品牌
    public String type; // 型号
    public double weight; // 重量
    public double length; // 长
    public double width; // 宽
    public double height; // 高
    public String color; // 颜色

    //行为、（成员方法）
    public void washClothes(){ // 洗衣服
        System.out.println("洗衣功能");
    }
    public void dryClothes(){ // 脱水
        System.out.println("脱水功能");
    }
    public void setTime(){ // 定时
        System.out.println("定时功能");
    }
}
//类 -》 类型 -> 自定义类型
class Dog {
    //................
    public String name;
    public int age;

    public void eat(){
        System.out.println(name+"吃狗粮");
    }
    //................
    public static void main(String[] args) {
        System.out.println("1234");
    }
}


public class Test {

    public static void main(String[] args) {

        /*
        结论：通过对象的引用 可以去访问 对象的成员变量。同时也可以访问 对象的成员的方法
         */
        Dog dog = new Dog();//对象的实例化（new--> 由 类 生成的 过程 叫做实例化）
        dog.name = "小黑";
        dog.age = 1;
        dog.eat();
        System.out.println(dog.name);//name和age不是v局部变量
        System.out.println(dog.age);//因为定义在类当中 方法外边的 成员变量
        System.out.println("===============");

        /*
        结论：你可以通过关键字 new 实例化 多个对象（类有一个，对象可以有多个）
        童一个类可以创建多个实例
         */
        Dog dog2 = new Dog();
        dog2.name = "小黄";
        dog2.age = 10;
        System.out.println(dog2.name);
        System.out.println(dog2.age);

        int a;
        /*System.out.println(a);*/ //局部变量 在使用的时候 要进行初始化

        /*
        遵循的规则：
        1.引用类型 默认为null
        2.基本数据类型 默认为 对应的0值
         */
    }
    /*
    语法:
    class 类名 {
        字段/属性：第一在类当中，方法的外边

        方法
    }
     */

    /*
    类是来描述对象的
    对象是一个真正存在的实体
     */

    /*
    什么是面向过程编程 --> （关注的是过程）

    什么是面向对象编程 --> 对象与对象之间进行协作完成(关注的是对象)
    1.找对象
    2.创建对象
    3.使用对象
     */

    /*
    建议一个Java文件一个类(这里两个类在这同一个文件，不是规范)
     */

    /*
    抛出问题：现在知道了 如何定义一个类的语法，以及知道了 什么是类？现在想问，这个东西 如果去用，怎么用
    如何初始化呢？
    对象的实例化!!!!!!
     */
}
